package com.zeratul.common.event.base.interceptor;


import com.zeratul.common.event.domain.ZtEvent;

/**
 * 消费者拦截器
 * author Ken
 * create_time 2022/9/17
 */
public interface BaseSubscribeInterceptor {

    /**
     * 是否支持当前的消息
     * @param ztEvent
     * @return
     * @param <T>
     */
    <T> boolean isSupport(ZtEvent<T> ztEvent);

    /**
     * 拦截方法，返回对象会经历后续的拦截器
     * @param KenConsumerInterceptor
     * @return
     * @param <T>
     */
    <T> ZtEvent<T> interceptor(ZtEvent<T> KenConsumerInterceptor);
}
